package com.gmgx.hrms.test;

import com.gmgx.hrms.biz.*;
import com.gmgx.hrms.biz.impl.*;
import com.gmgx.hrms.entity.*;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Scanner;

public class APP {
    public static Emp loginemp;  //静态的emp对象，存放登录的用户


    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("欢迎进入人事系统！！！，请先登录");
        System.out.print("请输入你的登录账号:");
        String lname=scanner.next();
        System.out.print("请输入你的登录密码:");
        String pwd=scanner.next();

        //调用登录业务
      EmpBiz biz=new EmpBizImpl();
      Emp emp=  biz.checkLogin(lname,pwd);
      if(emp!=null){
          if(emp.getEmp_status().equals("激活")){

              System.out.println("登录成功！");
              APP.loginemp=emp;//将用户保存到登录用户的对象中
              switch(emp.getEmp_role().getRole_name()){
                  case "CEO":
                      //CEO操作的代码
                      System.out.println("欢迎你，我最尊敬的老板"+emp.getEmp_rname());
                      break;
                  case "人事经理":
                      //人事经理操作的代码
                      System.out.println("欢迎你，人事经理"+emp.getEmp_rname());
                      boolean flag3=true;
                      while(flag3){
                          System.out.println("按1 进入考勤");
                          System.out.println("按2 编辑人事资料");
                          System.out.println("按3 发起申请");
                          System.out.println("按4 审批申请");
                          System.out.println("按5 查看处理审批");
                          System.out.println("按6 计算工资");
                          System.out.println("按7 查看考勤");
                          System.out.println("按8 查看个人申请");
                          System.out.println("按9 查看退出登录");
                         Scanner scanner1=new Scanner(System.in);
                         switch (scanner1.next()){
                             case "1":
                                 break;
                             case "2":
                                 //进入编辑人事资料
                                 System.out.println("按1 编辑员工");
                                 System.out.println("按2 编辑部门");
                                 System.out.println("按3 编辑角色");
                                 Scanner scanner2=new Scanner(System.in);
                                 String input=scanner2.next();
                                 if ("1".equals(input)){
                                     //编辑员工
                                     System.out.println("按1 添加员工");
                                     System.out.println("按2 修改员工");
                                     Scanner scanner3=new Scanner(System.in);
                                     String input2=scanner3.next();
                                   if("1".equals(input2)){
                                       //添加员工
                                       System.out.println("请输入员工的登录账号:");
                                       Scanner scanner4=new Scanner(System.in);
                                       String lname2=scanner4.next();
                                       System.out.println("请输入员工的登录密码:");
                                       String lpwd2=scanner4.next();
                                       System.out.println("请输入员工的真实名称:");
                                       String rname=scanner4.next();
                                       System.out.println("请输入员工的身份证编号:");
                                       String idcard=scanner4.next();
                                       System.out.println("请输入员工的性别:");
                                       String sex=scanner4.next();
                                       System.out.println("请输入员工的电话:");
                                       String tel=scanner4.next();
                                       System.out.println("请输入员工的工资:");
                                       double salary=scanner4.nextDouble();
                                       System.out.println("请输入员工的出生日期:xxxx-xx-xx");
                                       String birthday=scanner4.next();
                                       //将其转换成Localodate
                                       DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
                                       LocalDate bday=LocalDate.parse(birthday,df);

                                       //获取所有的部门
                                       DeptBiz deptb=new DeptBizImpl();
                                       List<Dept> list=  deptb.getAllDept();
                                       System.out.println("请选择要调往的部门---选择对应的序号输入");
                                       for(int i=0;i<list.size();i++){
                                           System.out.println("序号:"+i+" 部门名称:"+list.get(i).getDept_name());
                                       }
                                       //获取用户输入的索引值
                                       int index=scanner1.nextInt();
                                       //获取用户选择的部门对象
                                       Dept dept=list.get(index);
                                       System.out.println("选择的部门是："+dept.getDept_name());

                                       //同理，角色也是类似的写法
                                       RoleBiz rbiz=new RoleBizImpl();
                                       List<Role> rlist= rbiz.getAllRole();
                                       System.out.println("请选择要调整的角色---选择对应的序号输入");
                                       for(int i=0;i<rlist.size();i++){
                                           System.out.println("序号:"+i+" 角色名称:"+rlist.get(i).getRole_name());
                                       }
                                       //获取用户输入的索引值
                                       int index2=scanner1.nextInt();
                                       //获取用户选择的角色对象
                                       Role role=rlist.get(index2);
                                       System.out.println("选择的角色是："+role.getRole_name());

                                      //将上面的数据封装到一个Emp对象中
                                       Emp emp1=new Emp();
                                       emp1.setEmp_role(role);
                                       emp1.setEmp_dept(dept);
                                       emp1.setEmp_tel(tel);
                                       emp1.setEmp_status("激活");
                                       emp1.setEmp_rname(rname);
                                       emp1.setEmp_lname(lname2);
                                       emp1.setEmp_lpwd(lpwd2);
                                       emp1.setEmp_salary(salary);
                                       emp1.setEmp_idcard(idcard);
                                       emp1.setEmp_sex(sex);
                                       emp1.setEmp_bday(bday);
                                       emp1.setEmp_join(LocalDate.now());

                                       //调用业务逻辑层的添加员工的业务方法
                                       EmpBiz biz1=new EmpBizImpl();
                                     if(biz1.addEmp(emp1)){
                                         System.out.println("添加成功");
                                     }else{
                                         System.out.println("添加失败");
                                     }

                                   }else  if("2".equals(input2)){
                                       //修改员工
                                       //获取所有的员工信息，并打印出来，然后再让其选择要修改的员工的编号
                                       List<Emp> emplist=biz.getAllEmp();

                                        for(int i=0;i<emplist.size();i++){
                                            System.out.println("员工序号:"+i+" "+emplist.get(i));
                                        }
                                       System.out.println("请选择要编辑的员工的序号");
                                        Scanner s=new Scanner(System.in);
                                        int index= s.nextInt();

                                        Emp emp2=emplist.get(index);
                                       System.out.println("请输入修改后的密码（如果不修改直接回车）");
                                       Scanner s2=new Scanner(System.in);
                                        String pwd2=s2.nextLine();
                                        if(pwd2!=null&&!pwd2.equals("")){
                                            emp2.setEmp_lpwd(pwd2);
                                        }

                                       System.out.println("请输入修改后的性别（如果不修改直接回车）");
                                       String sex2=s2.nextLine();
                                       if(sex2!=null&&!sex2.equals("")){
                                           emp2.setEmp_sex(sex2);
                                       }

                                       System.out.println("请输入修改后的真实名称（如果不修改直接回车）");
                                       String rname2=s2.nextLine();
                                       if(rname2!=null&&!rname2.equals("")){
                                           emp2.setEmp_rname(rname2);
                                       }

                                       System.out.println("请输入修改后的电话（如果不修改直接回车）");
                                       String tel=s2.nextLine();
                                       if(tel!=null&&!tel.equals("")){
                                           emp2.setEmp_tel(tel);
                                       }

                                       System.out.println("请输入修改后的出生日期xxxx-xx-xx（如果不修改直接回车）");
                                       String bday=s2.nextLine();
                                       System.out.println("输入的出生日期是"+bday);
                                       if(bday!=null&&!bday.equals("")){
                                           //转换
                                           DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
                                           LocalDate bday2=LocalDate.parse(bday,df);
                                           emp2.setEmp_bday(bday2);
                                       }

                                       System.out.println("请输入修改后的身份证号码（如果不修改直接回车）");
                                       String idcard=s2.nextLine();
                                       if(idcard!=null&&!idcard.equals("")){
                                           //转换
                                           emp2.setEmp_idcard(idcard);
                                       }

                                       //调用业务逻辑层的修改emp方法
                                     if(biz.editEmpForHR(emp2)){
                                         System.out.println("修改成功");
                                     }else{
                                         System.out.println("修改失败");
                                     }


                                   }else{
                                       System.out.println("无效操作！");
                                   }

                                 }
                                 else if ("2".equals(input)){
                                     //编辑部门
                                 }
                                 else if ("3".equals(input)){
                                     //编辑角色
                                 }else{
                                     System.out.println("无效操作！");
                                 }

                                 break;
                             case "3":
                                 //进入发起申请
                                 System.out.println("按1 申请请假");
                                 System.out.println("按2 申请加班");
                                 System.out.println("按3 申请离职");
                                 System.out.println("按4 申请转岗");
                                 System.out.println("按5 申请加薪");

                                 Scanner s1=new Scanner(System.in);
                                String flag=s1.next();
                                if("1".equals(flag)){

                                }else if("2".equals(flag)){

                                }
                                else if("3".equals(flag)){

                                }
                                else if("4".equals(flag)){

                                }
                                else if("5".equals(flag)){
                                   //申请加薪
                                    System.out.println("请输入员工编号");
                                    int empid=s1.nextInt();
                                    System.out.println("请输入加薪理由");
                                    String reason=s1.next();
                                    System.out.println("请输入加薪金额");
                                    double salary=s1.nextDouble();
                                    System.out.println("请输入加薪生效日期 xxxx-xx-xx");
                                    String date=s1.next();
                                    DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
                                    LocalDate date2=LocalDate.parse(date,df);

                                    //要添加的加薪申请对象
                                    AS as=new AS();
                                    as.setAs_date(date2);
                                    as.setAs_money(salary);
                                    as.setAs_reason(reason);
                                    as.setAs_status("0");
                                   Emp asemp=biz.getEmpById(empid);
                                    as.setAs_emp(asemp);

                                    //调用加薪业务层
                                    ASBiz biz1=new ASBizImpl();
                                    if(biz1.addAs(as)){
                                        System.out.println("加薪申请成功，等待审批");
                                    }else{
                                        System.out.println("加薪审批失败");
                                    }

                                }


                                 break;
                             case "4":
                                 break;
                             case "5":
                                 //处理审批通过了的离职，加薪，转岗申请
                                 System.out.println("按1处理离职申请");
                                 System.out.println("按2处理加薪申请");
                                 System.out.println("按3处理转岗申请");

                                 Scanner s3=new Scanner(System.in);
                                 String doinput=s3.next();
                                 if("1".equals(doinput)){
                                     //处理离职
                                     //打印所有的通过审批的离职申请
                                   ResignBiz rbiz=new ResignBizImpl();
                                  List<Resign> list=  rbiz.getAllResignByStatus("4");
                                  for(int i=0;i<list.size();i++){
                                      System.out.println("索引值:"+i+" 离职员工编号:"+list.get(i).getResign_emp().getEmp_id()+" 姓名："+list.get(i).getResign_emp().getEmp_rname()+
                                              " 离职原因："+list.get(i).getResign_reason()+" 离职日期："+list.get(i).getResign_date());
                                  }
                                     System.out.println("请输入要处理的离职申请索引值");
                                  Scanner doinput2=new Scanner(System.in);
                                  int index=doinput2.nextInt();
                                  //要操作的离职对象
                                   Resign resign=list.get(index);

                                   //进行离职的业务操作
                                  if(rbiz.editResignForHR(resign)){
                                      System.out.println("处理离职成功！");
                                  }else
                                  {
                                      System.out.println("处理离职失败！");
                                  }

                                 }
                                 else if("2".equals(doinput)){
                                     //处理加薪

                                 }
                                 else if("3".equals(doinput)){
                                     //处理转岗

                                 }

                                 break;
                             case "6":
                                 break;
                             case "7":
                                 break;
                             case "8":
                                 break;
                             case "9":
                                 APP.loginemp=null;
                                 System.out.println("注销登录");
                                 flag3=false;
                                 break;
                           default:
                               System.out.println("输入的操作符无效！！！");
                               break;

                         }
                      }


                      break;
                  case "部门经理":
                      //部门经理操作的代码
                      System.out.println("欢迎你，部门经理"+emp.getEmp_rname());
                      boolean flag1=true;
                      while(flag1){
                          System.out.println("按1 进入考勤");
                          System.out.println("按2 查看资料");
                          System.out.println("按3 发起申请");
                          System.out.println("按4 审批申请");
                          System.out.println("按5 查看个人申请");
                          System.out.println("按6 退出登录");
                          String input =scanner.next();
                          switch (input){
                              case "1":
                                  //打卡，与员工打卡代码一致
                                  break;
                              case "2":
                                  //按1查看个人资料 与员工查看个人资料代码一致
                                  //按2查看部门资料  select * from t_emp where emp_dept=当前部门经理所在的部门
                                  break;
                              case "3":
                                  //发起申请，与员工发起申请代码一致
                                  break;
                              case "4":
                                  //审批
                                  System.out.println("按1 请假审批");
                                  System.out.println("按2 加班审批");
                                  System.out.println("按3 调岗审批");
                                  System.out.println("按4 离职审批");

                                  //只列出需要当前部门经理审批的记录即可
                                  Scanner scanner2=new Scanner(System.in);
                                  String input4 =scanner2.next();
                                  if("1".equals(input4)){
                                     //请假审批
                                    //先列出所有需要当前部门经理审批的请假记录
                                    OLBiz biz1=new OLBizImpl();
                                    List<OL> list=    biz1.getOLByDeptIdForLeave(APP.loginemp.getEmp_dept().getDept_id());
                                    if(list.size()==0){
                                        System.out.println("暂无需要审批的请假申请");
                                    }else{
                                        System.out.println("需要审批的请假记录如下");
                                        for(OL ol:list){
                                            System.out.println("编号:"+ol.getOl_id()+" 员工姓名:"+ol.getOl_emp().getEmp_rname()+" 开始时间："+ol.getOl_start()+
                                                    " 结束时间:"+ol.getOl_end()+" 理由："+ol.getOl_reason());
                                        }
                                        System.out.println("请输入要审批的请假申请编号：");
                                        try {
                                            Scanner scanner1=new Scanner(System.in);
                                            int input5=scanner1.nextInt();
                                            System.out.println("请输入是否审批通过：1通过6审批不通过");
                                            String flag=scanner1.next();
                                            //根据输入的编号去修改对应的请假申请
                                            if(biz1.editOLByOLidForLeave(input5,flag)){
                                                System.out.println("请假审批状态成功修改");
                                            }else{
                                                System.out.println("请假审批状态修改失败");
                                            }
                                        } catch (Exception e) {
                                            System.out.println("设置的参数有误，无法审批！！！");
                                        }
                                    }

                                  }
                                  else if("2".equals(input4)){

                                  }
                                  else if("3".equals(input4)){
                                      //调岗
                                TransferBiz biz1=new TransferBizImpl();
                                List<Transfer> list=biz1.getTransferByDeptidForManager(APP.loginemp.getEmp_dept().getDept_id());
                                if(list.size()<=0){
                                    System.out.println("暂无需要审批的调岗记录");
                                }else{
                                    //遍历list集合
                                    for(Transfer transfer:list){
                                        System.out.println("员工编号:"+transfer.getTransfer_emp().getEmp_id()+" 姓名："+transfer.getTransfer_emp().getEmp_rname()+"调岗编号:"+transfer.getTransfer_id()+" 调岗前的角色:"+transfer.getTransfer_emp().getEmp_role().getRole_name()+" 调岗后的角色:"+
                                                transfer.getTransfer_role().getRole_name()+" 调岗前的部门："+transfer.getTransfer_emp().getEmp_dept().getDept_name()+" 调岗后的部门:"+transfer.getTransfer_dept().getDept_name()+
                                                " 调岗理由:"+transfer.getTransfer_reason()+" 调岗时间："+transfer.getTransfer_time());
                                    }

                                    //输入要操作的调岗编号和审批状态（1或者3）
                                    Scanner scanner1=new Scanner(System.in);
                                    System.out.println("请输入要调岗的编号");
                                    try {
                                        int transferid=scanner1.nextInt();
                                        System.out.println("请输入一个审批状态1表示审批通过，其他表示不通过");
                                        String status=scanner1.next();
                                        status="1".equals(status)?"1":"3";

                                      //调用业务逻辑层，将要修改状态的调岗的编号以及状态传入
                                       if(biz1.editTransferForManager(transferid,status)){
                                           System.out.println("调岗审批状态修改成功");
                                       }else{
                                           System.out.println("调岗审批状态修改失败");
                                       }

                                    } catch (Exception e) {
                                        System.out.println("输入的编号格式有问题，无法审批！");
                                    }


                                }





                                  }
                                  else if("4".equals(input4)){
                                      //离职
                                  }
                                  else{
                                      System.out.println("无效操作符");
                                  }




                                  break;
                              case "5":
                                  break;
                              case "6":
                                  APP.loginemp=null;
                                  System.out.println("注销成功");
                                  flag1=false;
                                  break;
                              default:
                                  System.out.println("操作符无效");
                                  break;
                          }
                      }
                      break;
                  default:
                      boolean flag=true;
                      while(flag){
                          //普通操作的代码
                          System.out.println("欢迎你，普通员工"+emp.getEmp_rname());
                          System.out.println("按1 进入考勤");
                          System.out.println("按2 查看个人资料");
                          System.out.println("按3 发起申请");
                          System.out.println("按4 查看我的申请");
                          System.out.println("按5 退出登录");
                          String input =scanner.next();
                          switch (input){
                              case "1":

                                  System.out.println("按1 打上班卡");
                                  System.out.println("按2 打下班卡");
                                  String input2 =scanner.next();
                                  if("1".equals(input2)){
                                      //打上班卡业务
                                      AttBiz biz1=new AttBizImpl();
                                      Att att=new Att();
                                      att.setAtt_emp(emp);
                                      att.setAtt_start(LocalDateTime.now());


                                      if(biz1.addAtt(att)){
                                          System.out.println("打卡成功！！！");
                                      }else{
                                          System.out.println("打开失败");
                                      }
                                  }else if("2".equals(input2)){
                                      //打下班卡业务
                                      AttBiz biz1=new AttBizImpl();
                                      Att att=new Att();
                                      att.setAtt_emp(emp);
                                      att.setAtt_end(LocalDateTime.now());
                                      //  att.setAtt_start(LocalDateTime.now());
                                      if(biz1.updateAttEnd(att)){
                                          System.out.println("下班卡打卡成功");
                                      }else{
                                          System.out.println("下班卡打卡失败");
                                      }



                                  }else{
                                      System.out.println("打卡失败");
                                  }
                                  break;
                              case "2":
                                  System.out.println(emp);
                                  break;
                              case "3":
                                  System.out.println("按1 申请请假");
                                  System.out.println("按2 申请加班");
                                  System.out.println("按3 申请离职");
                                  System.out.println("按4 申请调岗");
                                  String input3 =scanner.next();
                                 if("1".equals(input3)){
                                     Scanner scanner1=new Scanner(System.in);
                                     //申请请假
                                     System.out.println("请输入要请假的开始时间---xxxx-xx-xx xx:xx:xx格式");
                                     String start= scanner1.nextLine();

                                     System.out.println("请输入要请假的结束时间---xxxx-xx-xx xx:xx:xx格式");
                                     String end= scanner1.nextLine();
                                     System.out.println("请输入要请假的理由");
                                     String reason=scanner1.nextLine();

                                     //将字符串时间转换成LocalDatetime类型
                                     DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
                                     LocalDateTime startime=  LocalDateTime.parse(start,df);
                                     LocalDateTime endtime=  LocalDateTime.parse(end,df);

                                     OL ol=new OL();
                                     ol.setOl_emp(APP.loginemp);// 当前的登录用户
                                     ol.setOl_start(startime);
                                     ol.setOl_end(endtime);
                                     ol.setOl_type("请假");
                                     ol.setOl_status("0");//等待部门经理申请的状态
                                     ol.setOl_reason(reason);


                                     //添加申请请假的业务
                                     OLBiz biz1=new OLBizImpl();
                                    if(biz1.addOLForLeave(ol)){
                                        System.out.println("申请请假成功，等待审批");
                                    }
                                     else{
                                        System.out.println("申请失败");
                                    }

                                 }
                                 else if("2".equals(input3)){

                                 }
                                 else if("3".equals(input3)){
                                     Scanner scanner1=new Scanner(System.in);
                                     //申请离职
                                     System.out.println("请输入要离职日期---xxxx-xx-xx格式");
                                     String date= scanner1.nextLine();
                                     System.out.println("请输入要离职的理由");
                                     String reason=scanner1.nextLine();

                                     //将字符串的日期转换成LocalDate对象
                                     DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
                                     LocalDate rdate=  LocalDate.parse(date,df);

                                     //封装一个要添加的离职对象
                                     Resign resign=new Resign();
                                     resign.setResign_date(rdate);
                                     resign.setResign_reason(reason);
                                     resign.setResign_emp(APP.loginemp);
                                     resign.setResign_status("0"); //当前普通员工

                                     ResignBiz biz2=new ResignBizImpl();
                                    if(biz2.applyResignForEmp(resign)){
                                        System.out.println("离职申请成功");
                                    }else{
                                        System.out.println("申请失败");
                                    }

                                 }
                                 else if("4".equals(input3)){
                                      //员工申请调岗
                                     Scanner scanner1=new Scanner(System.in);
                                     //申请调岗日期
                                     System.out.println("请输入要调岗日期---xxxx-xx-xx格式");
                                     String date= scanner1.nextLine();

                                     //将字符串的日期转换成LocalDate对象
                                     DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
                                     LocalDate rdate=  LocalDate.parse(date,df);

                                     System.out.println("请输入要调岗的理由");
                                     String reason=scanner1.nextLine();
                                     //获取所有的部门
                                     DeptBiz deptb=new DeptBizImpl();
                                     List<Dept> list=  deptb.getAllDept();
                                     System.out.println("请选择要调往的部门---选择对应的序号输入");
                                     for(int i=0;i<list.size();i++){
                                         System.out.println("序号:"+i+" 部门名称:"+list.get(i).getDept_name());
                                     }
                                     //获取用户输入的索引值
                                     int index=scanner1.nextInt();
                                     //获取用户选择的部门对象
                                     Dept dept=list.get(index);
                                     System.out.println("用户选择的是："+dept.getDept_name());

                                     //同理，角色也是类似的写法
                                     RoleBiz rbiz=new RoleBizImpl();
                                     List<Role> rlist= rbiz.getAllRole();
                                     System.out.println("请选择要调整的角色---选择对应的序号输入");
                                     for(int i=0;i<rlist.size();i++){
                                         System.out.println("序号:"+i+" 角色名称:"+rlist.get(i).getRole_name());
                                     }
                                     //获取用户输入的索引值
                                     int index2=scanner1.nextInt();
                                     //获取用户选择的角色对象
                                     Role role=rlist.get(index2);
                                     System.out.println("用户选择的是："+role.getRole_name());


                                     //封装一个要添加的转岗对象
                                     Transfer transfer=new Transfer();
                                     transfer.setTransfer_dept(dept);
                                     transfer.setTransfer_role(role);
                                     transfer.setTransfer_emp(APP.loginemp);
                                     transfer.setTransfer_reason(reason);
                                     transfer.setTransfer_time(rdate);
                                     transfer.setTransfer_status("0");

                                    TransferBiz tbiz=new TransferBizImpl();
                                   if(tbiz.applyTransferForEmp(transfer)){
                                       System.out.println("调岗申请成功，请等待审批");
                                   }else{
                                       System.out.println("调岗申请失败");
                                   }

                                 }
                                 else{
                                     System.out.println("输入的操作符不存在！");
                                 }
                                  break;
                              case "4":
                                  //查看当前用户的所有申请记录
                                  System.out.println("按1 查看请假申请");
                                  System.out.println("按2 查看加班申请");
                                  System.out.println("按3 查看离职申请");
                                  System.out.println("按4 查看调岗申请");
                                  String input4 =scanner.next();
                                  if("1".equals(input4)){
                                      //查看当前用户的请假
                                      OLBiz biz1=new OLBizImpl();
                                     List<OL> list=  biz1.getOLByEmpidForLeave(APP.loginemp.getEmp_id());
                                     for(OL ol:list){
                                         String status="";
                                         switch (ol.getOl_status()){
                                             case "0":
                                                 status="等待部门经理审批";
                                                 break;
                                             case "1":
                                                 status="部门经理审批通过";
                                                 break;
                                             case "2":
                                                 status="等待人事经理审批";
                                                 break;
                                             case "3":
                                                 status="人事经理审批通过";;
                                                 break;
                                             case "4":
                                                 status="等待CEO审批";
                                                 break;
                                             case "5":
                                                 status="CEO审批通过";
                                                 break;
                                             case "6":
                                                 status="审批不通过";
                                                 break;
                                         }

                                         System.out.println("用户名："+ol.getOl_emp().getEmp_rname()+" 开始时间："+ol.getOl_start()+" 结束时间："+ol.getOl_end()+
                                                 " 理由："+ol.getOl_reason()+" 审批状态："+status);
                                     }

                                  }else if("2".equals(input4)){

                                  }
                                  else if("3".equals(input4)){

                                  }
                                  else if("4".equals(input4)){
                                   //查看调岗申请
                                  }else{
                                      System.out.println("输入的操作符无效！");
                                  }

                                  break;
                              case "5":
                                  //注销用户
                                  APP.loginemp=null;
                                  flag=false;
                                  System.out.println("退出登录！！！");
                                  break;
                              default:
                                  break;
                          }

                      }

                      break;
              }
          }else if(emp.getEmp_status().equals("禁用")){
              System.out.println("您当前的账号已经被禁用，请找管理员解禁");
          }else{
              System.out.println("当前账户的用户已经离职，无法登录");
          }


      }else{
          System.out.println("账号或者密码错误！！！");
      }

    }
}
